home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 June / PCWorld_2007-06_cd.bin / v cisle / tclock / tclocklight-040702-3.exe / source / dll / newapi.h < prev    next >
Text File  |  2004-01-01  |  3KB  |  123 lines

  1. /*-------------------------------------------
  2.   newapi.h
  3. ---------------------------------------------*/
  4.  
  5. // using msimg32.dll APIs of Win98/2000 and later
  6.  
  7. #if (defined(_MSC_VER) && (_MSC_VER < 1200)) || (defined(__BORLANDC__) && (__BORLANDC__ < 0x550))
  8.  
  9. typedef USHORT COLOR16;
  10.  
  11. typedef struct _TRIVERTEX
  12. {
  13.     LONG    x;
  14.     LONG    y;
  15.     COLOR16 Red;
  16.     COLOR16 Green;
  17.     COLOR16 Blue;
  18.     COLOR16 Alpha;
  19. }TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;
  20.  
  21. typedef struct _GRADIENT_RECT
  22. {
  23.     ULONG UpperLeft;
  24.     ULONG LowerRight;
  25. }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
  26.  
  27. typedef struct _BLENDFUNCTION
  28. {
  29.     BYTE   BlendOp;
  30.     BYTE   BlendFlags;
  31.     BYTE   SourceConstantAlpha;
  32.     BYTE   AlphaFormat;
  33. } BLENDFUNCTION,*PBLENDFUNCTION;
  34.  
  35. #define AC_SRC_OVER                 0x00
  36.  
  37. #define GRADIENT_FILL_RECT_H    0x00000000
  38. #define GRADIENT_FILL_RECT_V    0x00000001
  39. #define GRADIENT_FILL_TRIANGLE  0x00000002
  40. #define GRADIENT_FILL_OP_FLAG   0x000000ff
  41.  
  42. #endif
  43.  
  44. BOOL MyGradientFill(HDC hdc, PTRIVERTEX pVertex, ULONG dwNumVertex,
  45.     PVOID pMesh, ULONG dwNumMesh, ULONG dwMode);
  46.  
  47. BOOL MyAlphaBlend(HDC hdcDest, int nXOriginDest, int nYOriginDest,
  48.     int nWidthDest, int nHeightDest,
  49.     HDC hdcSrc, int nXOriginSrc, int nYOriginSrc,
  50.     int nWidthSrc, int nHeightSrc, BLENDFUNCTION blendFunction);
  51.  
  52. BOOL MyTransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest,
  53.     int nWidthDest, int hHeightDest,
  54.     HDC hdcSrc, int nXOriginSrc, int nYOriginSrc,
  55.     int nWidthSrc, int nHeightSrc, UINT crTransparent);
  56.  
  57. // using SetLayeredWindowAttributes of Win2000 and later
  58.  
  59. #define WS_EX_LAYERED 0x80000
  60. #define LWA_COLORKEY  1
  61. #define LWA_ALPHA     2
  62.  
  63. BOOL MySetLayeredWindowAttributes(HWND hwnd, COLORREF crKey,
  64.     BYTE bAlpha, DWORD dwFlags);
  65.  
  66. // for traynotify.c
  67.  
  68. typedef struct tagNMCUSTOMDRAWINFO
  69. {
  70.     NMHDR hdr;
  71.     DWORD dwDrawStage;
  72.     HDC hdc;
  73.     RECT rc;
  74.     DWORD dwItemSpec;
  75.     UINT  uItemState;
  76.     LPARAM lItemlParam;
  77. } NMCUSTOMDRAW, FAR * LPNMCUSTOMDRAW;
  78.  
  79. #define CDDS_PREPAINT           0x00000001
  80. #define CDDS_ITEM               0x00010000
  81. #define CDDS_ITEMPREPAINT       (CDDS_ITEM | CDDS_PREPAINT)
  82.  
  83. #define NM_CUSTOMDRAW           (NM_FIRST-12)
  84.  
  85. // hide grippers
  86.  
  87. #define CCM_FIRST               0x2000
  88. #define CCM_SETCOLORSCHEME      (CCM_FIRST + 2)
  89. #define RB_SETCOLORSCHEME   CCM_SETCOLORSCHEME
  90. typedef struct tagCOLORSCHEME {
  91.    DWORD            dwSize;
  92.    COLORREF         clrBtnHighlight;
  93.    COLORREF         clrBtnShadow;
  94. } COLORSCHEME, *LPCOLORSCHEME;
  95.  
  96. // flat task switch / icon only task switch
  97.  
  98. #define TCS_FLATBUTTONS         0x0008
  99. #define TCS_HOTTRACK            0x0040
  100. #define TCS_EX_FLATSEPARATORS    0x0001
  101.  
  102. #define TCM_SETEXTENDEDSTYLE    (4916)
  103. #define TabCtrl_SetExtendedStyle(hwnd, dw)    \
  104. SendMessage((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw)
  105.  
  106. #define TCM_GETEXTENDEDSTYLE    (4917)
  107. #define TabCtrl_GetExtendedStyle(hwnd)        \
  108. SendMessage((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)
  109.  
  110. #define TCM_SETITEMSIZE         (TCM_FIRST + 41)
  111.  
  112. #define TB_SETBUTTONSIZE        (WM_USER + 31)
  113.  
  114. #define TB_SETEXTENDEDSTYLE     (WM_USER + 84)  // For TBSTYLE_EX_*
  115. #define TB_GETEXTENDEDSTYLE     (WM_USER + 85)  // For TBSTYLE_EX_*
  116. #define BTNS_SHOWTEXT   0x0040              // ignored unless TBSTYLE_EX_MIXEDBUTTONS is set
  117.  
  118. #define TBSTYLE_FLAT            0x0800
  119.  
  120. #define TBSTYLE_EX_MIXEDBUTTONS             0x00000008
  121.  
  122.  
  123.